all:datanode client
client: client.o common.o
	gcc -o client client.o common.o -lpthread -std=gnu99
datanode:datanode.o common.o arraylist.o cuckoo.o hash.o
	gcc -o datanode datanode.o common.o arraylist.o cuckoo.o hash.o -lpthread -std=gnu99 
client.o:client.c common.h config.h
	gcc -c client.c -lpthread -std=gnu99
datanode.o:datanode.c common.h config.h arraylist.h cuckoo.h
	gcc -c datanode.c -lpthread -std=gnu99
common.o:common.c common.h config.h
	gcc -c common.c -lpthread -std=gnu99
cuckoo.o:cuckoo.c cuckoo.h hash.h 
	gcc -c cuckoo.c -std=gnu99
hash.o:hash.c hash.h 
	gcc -c hash.c -std=gnu99
arraylist.o:arraylist.c arraylist.h 
	gcc -c arraylist.c -std=gnu99
.PHNOY:clean
clean:
	-rm -rf *.o
	-rm -rf datanode
	-rm -rf client